﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ForgeCraftServer.Plugins
{
    public abstract class Plugin
    {
        /// <summary>
        /// This is called when the plugin is loaded
        /// </summary>
        /// <param name="startup">If true, the server is starting up, if false the server is already running</param>
        public abstract void Load(bool startup);
        
        /// <summary>
        /// This is called when the plugin is unloaded
        /// </summary>
        /// <param name="startup">If true, the server is shutting down, if false the server is still running</param>
        public abstract void Unload(bool startup);

        /// <summary>
        /// The creator of the plugin
        /// </summary>
        public abstract string creator
        {
            get;
        }

        /// <summary>
        /// The version of the plugin
        /// </summary>
        public abstract Version version
        {
            get;
        }

        /// <summary>
        /// The name of the plugin
        /// </summary>
        public abstract string name
        {
            get;
        }
    }
}
